Remote on-demand access to computer and communication network resources, including Internet access is widespread. With the Internet becoming increasingly popular and almost ubiquitous, more and more network users are able to connect to an ever-growing body of content stored on an ever-growing number of remote servers using almost any electronic device with an internet connection. Users are able to connect to the Internet from home computers, laptops, tablets, smart phones, e-book readers, and any other mobile Internet device. When connected to the internet, users often download or stream significant amounts of data from various data sources, such as websites, media servers and Application Servers, hosted on servers connected to the Internet or on Content Delivery Networks (CDN's).
Data servers, Media Servers and Application Engines connected to a data network, such as the Internet, at one or more network nodes, are typically identifiable and addressable using an Internet Protocol (e.g. IP v4 and v6) address. Websites and other data sources connected to the Internet are, however, typically associated with a server name or domain name. The Domain Name System (DNS) is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities. A Domain Name Service resolves queries for these names into IP addresses for the purpose of locating computer services and devices either on a local network or worldwide on the Internet. By providing a worldwide, distributed keyword-based redirection service, the Domain Name System is an essential component of the functionality of the Internet.
An often-used analogy to explain the Domain Name System is that it serves as the phone book for the Internet by translating human-friendly computer hostnames into IP addresses. For example, the domain name www.example.com translates to the addresses 192.0.43.10 (IPv4) and 2620:0:2d0:200::10 (IPv6). Unlike a phone book, DNS can be quickly updated and these updates are distributed, allowing a service's location on the network to change without affecting the end users, who continue to use the same hostname. Users take advantage of this when they recite meaningful Uniform Resource Locators (URLs) and e-mail addresses without having to know how the computer actually locates the services.
The Domain Name System distributes the responsibility of assigning domain names and mapping those names to IP addresses by designating authoritative name servers for each domain. Authoritative name servers are assigned to be responsible for their particular domains, and in turn can assign other authoritative name servers for their sub-domains. This mechanism has made the DNS distributed and fault tolerant and has helped avoid the need for a single central register to be continually consulted and updated. Additionally, the responsibility for maintaining and updating the master record for the domains is spread among many domain name registrars, who compete for the end-user's, domain-owner's, business. Domains can be moved from registrar to registrar at any time. The Domain Name System also specifies the technical functionality of this database service. It defines the DNS protocol, a detailed specification of the data structures and communication exchanges used in DNS, as part of the Internet Protocol Suite.
The Internet maintains two principal namespaces, the domain name hierarchy and the Internet Protocol (IP) address spaces. The Domain Name System maintains the domain name hierarchy and provides translation services between it and the address spaces. Internet name servers and a communication protocol implement the Domain Name System. A DNS name server is a server that stores the DNS records for a domain name, such as address (A) records, name server (NS) records, and mail exchanger (MX) records (see also list of DNS record types); a DNS name server responds with answers to queries against its database.
The growing demand for packet data (e.g. TCP/IP) services over mobile networks, including: (1) mixed and rich content websites and (2) video and audio content streaming, has fostered enormous bandwidth and data traffic requirements for mobile communication/access networks. A single webpage may include URL's to multiple content sources, static and dynamic, and the loading of a single webpage may typically require between 15 and 20 DNS transactions with a remote DNS server. During peak network traffic hours, these requests may take between 3 and 4 seconds, thereby leading to a long delay in start of service and to customer frustration.
Additionally, since in 2009 the volume of data traffic over mobile network exceeded that of voice traffic, mobile data has more or less tripled each year in volume thus taking over more and more of the mobile traffic in volume. On the profitability side, mobile data opens new revenue possibilities to the Mobile Network Operators (MNOs). A major obstacle standing before the MNOs, however, is their inability to connect to the content thus suffering from the Over-The-Top (OTT) syndrome. In addition, many of the applications generate data that withholds inflexible requirement on the way traffic should be served over the network. In order to enable adequate user experience, the data must be supplied to the User Equipment (UE) according to strict bit-rate requirements. Any deviations from these requirements automatically lead to lousy experience thus to the abandonment of this service by consumers.
An additional important factor is the protocol used to pass data over the network—Transmission Control Protocol (TCP). Wireless networks are characterized by high losses due to radio propagation impairments, high delays and limited bandwidth. Small scale degradations over the air interface, such as fast fading, induce fluctuations, and losses over the air interface are mistakenly taken as congestion over the fixed networks by TCP. Although radio link control mechanisms typically use retransmissions to achieve error free communications over the air interface, these radio retransmissions cause delays that are large compared to TCP timescales, resulting in degradation of end-to-end throughput through the network. A major issue is that TCP misinterprets errors over wireless links as congestions and reacts by retransmitting TCP segments and by reducing the congestion window and thus the overall application throughput. The main factors driving the TCP performance are the TCP roundtrip delay and Packet loss. Reducing the RTT and packet loss can dramatically improve the TCP behavior and thus the way data is passing over the network.
The majority of mobile data is video and predictions are that as mobile data grows, the mobile videos portion will grow at a much faster rate than non-video mobile data. On the profitability side, however, video accounts for the lowest incomes to the operator per byte compared to other types of mobile data, which poses a financial burden. Additionally, video is an application which generates inflexible requirement on the way traffic should be served over the network. More specifically, in order to enable adequate user experience, the video must be supplied to the User Equipment (“UE”) and also referred to as mobile device, mobile communication device, etc.) according to strict bit-rate requirements. Any deviation from these requirements automatically leads to a poor user experience thus to the abandonment of this service by consumers.
One option to cope with this problem is to continually send data to the UE as fast as possible, ensuring that the UE never reaches “starvation” and always holds the next video frames for display locally. This may insure good user experience for a single user but will lead to an overload of the entire network which is already overflowed with data, thus leading to unacceptable user experience to all end users and to high operating expenses (OPEX) on the operator's side required to ensure this traffic will actually be delivered to the users. In addition, this type of solution will lead to additional expenses to the end users as they will be charged for a big portion of video which they didn't actually consume (once a user requests to view a video, a large portion of this video will be downloaded to the UE regardless if the user ends up viewing only the very beginning of this video).
Accordingly there is a need for solutions which on one hand ensure good user experience when consuming video and on the other hand factor network resources and don't degrade network behavior.